1. Field of the Invention
Embodiments of the present invention generally relate to contact centers and particularly to increasing contact center efficiency.
2. Description of Related Art
Contact centers are employed by many enterprises to service inbound and outbound contacts from customers. A typical contact center includes a switch and/or server to receive and route incoming packet-switched and/or circuit-switched contacts and one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming contacts. Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria.
In many existing systems, the criteria for servicing the contact from the moment the contact center becomes aware of the contact until the contact is connected to an agent are client or operator-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring. Normally in present-day ACDs when the ACD system's controller detects an agent has become available to handle a contact, the controller identifies all predefined contact-handling queues for the agent (usually in some order of priority) and delivers to the agent the highest-priority, oldest contact that matches the agent's highest-priority queue. Generally, the only condition that results in a contact not being delivered to an available agent is that there are no contacts waiting to be handled.
The primary objective of contact center management is to ultimately maximize contact center performance and profitability. An ongoing challenge in contact center administration is monitoring and optimizing contact center efficiency. Contact center efficiency is generally measured in two ways.
Service level is one measurement of contact center efficiency. Service level is typically determined by dividing the number of contacts accepted within the specified period by the number accepted plus the number that were not accepted, but completed in some other way (e.g., abandoned, given busy, canceled, flowed out). Of course, service level definitions may vary from one enterprise to another.
Match rate is another indicator used in measuring contact center efficiency. Match rate is usually determined by dividing the number of contacts accepted by a primary skill level agent within a period of time by the number of contacts accepted by any agent for a queue over the same period. An agent with a primary skill level is one that typically can handle contacts of a certain nature most effectively and/or efficiently. There are other contact center agents who may not be as proficient as the primary skill level agent, and those agents are identified either as secondary skill level agents or backup skill level agents. As can be appreciated, contacts received by a primary skill level agent are typically handled more quickly and accurately or effectively (e.g., higher revenue attained) than a contact received by a secondary or even backup skill level agent. Thus, it is an objective of most contact centers to optimize match rate along with service level.
In addition to service level and match rate performance measures, contact centers use other Key Performance Indicators (“KPIs”), such as revenue, estimated, actual, or predicted wait time, average speed of answer, throughput, agent utilization, agent performance, agent responsiveness, and the like, to calculate performance relative to their Service Level Agreements (“SLAs”). Operational efficiency is achieved when KPIs are managed near, but not above, SLA levels.
Throughput is a measure of the number of calls/contact requests or work requests that can be processed in a given amount of time. Agent utilization is a measure of how efficiently agents' time is being used. Customer service level is a measure of the time customers spend waiting for their work to be handled. Company contact center customers wish to provide service to as many requests as possible in a given amount of time, using the least number of agents to do so, and minimizing the wait time for their customers.
Typically, when a new work request arrives into a contact center, an agent to work on it is selected according to the goals of the contact center. If the goal is to increase throughput and agent utilization and reduce response time on work requests, then one factor affecting this goal is the amount of time the agent takes to “accept” the work request once it is routed to them. Most contact centers allow the agent to accept or reject the work (“accepting” work is equivalent to “answering” a ringing telephone call in a traditional voice call center). The amount of time it takes the agent to realize there is new work for them, to consider the request, and to accept it, materially affects the contact center throughput and utilization goals under heavy traffic load, and therefore the quality of service provided to the work originator. This measure can be called agent responsiveness. Further, for proper utilization of agents, optimal selection of suitable agents is required.
Traditional contact centers, ACDs and workflow routers attempt to improve throughput and utilization based on historical or predicted agent responsiveness data, among other criteria. In a voice call center, for example, this is measured as “ring time.” Traditional methods selecting a single agent with low historical or predicted ring time will increase the overall throughput and utilization of the contact center, in circumstances where the historical or predicted statistics are useful and meaningful; however, there are many cases where these conditions do not hold.
This is because, in the conventional methods, agent responsiveness can only be measured historically and aggregated (average, min, max) or predicted, against multiple heterogeneous past work requests. Using an historical aggregate or a statistical forecast may work to a degree, but cannot account for the actual time the agent will take on any particular new incoming contact, except after-the-fact; nor does it work for highly variable conditions that are not suitable for statistical analysis. The contact center may present work to an agent based on a historical or predicted response time of, say, 3 seconds, but the agent may currently be distracted and actually take 60 seconds to notice the screen popup, for example, and accept the new work.
The difference between the historical aggregate response time measure (average) and the actual response time is a problem for contact center customers using agent responsiveness as a routing decision, since the agent with the predicted best responsiveness may not have had the best responsiveness for this particular work request, if other agents were also offered the work. The difference may balance out with enough traffic and agents, since some agents will occasionally respond quicker than their historical or predicted response times. However, incorrect routing decisions will still occur and could be catastrophic to the service level provided to an individual caller in, for example, urgent work requests. Furthermore, use of statistical methods to measure historical responsiveness and make predictions is useful only in certain situations. Average response time is not useful if there is a high variance or uneven distribution in the individual historical responses. Predicted response time is meaningless if the factors influencing response time are not stable (for example, in the case of unpredictable interruptions to the agent's attention, or of fluctuating network latency in routing a screen popup to the agent).
Further, in the traditional contact centers, ACDs and workflow routers, it is very difficult to avoid an agent causing a delay answering a particular call, regardless of the predicted response time.
Some contact centers solve the issue of slow responding agents by using a forced call answer feature, where agent-initiated answer delay is not possible. However, this solution is not desirable in some call centers due the human reaction to perceived forced work, and subsequent human resources implications.
Further, some of the traditional systems, for example taxi dispatch systems, use radio broadcast advertising incoming work to agents, and the work is reserved for the first agent to respond. This is different than the environment of the present invention because the taxi driver may still delay start on the work by arriving late at the pickup location.
Another problem within the traditional contact centers, ACDs and workflow routers is that a work request may be presented to a suboptimal agent if a better agent is currently being presented with another work request. The better agent is traditionally considered busy while considering the presented work request and so cannot be presented with other work even if it is a better match. This leads to suboptimal throughput, utilization and service level results, since the better agent may accept the suboptimal offer being presented to them.
Some of the traditional contacts centers partially solve the issue of suboptimal agent selection due to optimal agents being ineligible while unrelated work is being presented, by allowing agents to peek at the incoming work queues, reject presenting work, and select/pull an alternative work request. This may achieve a better skill match but won't necessarily achieve a better response time and in fact may increase response times.
Yet another problem with traditional call centers occurs in the case where the better agent rejects the a presented work request, such that they would become available for the new work request, except that, in traditional contact centers, if the new work request is already being presented to a suboptimal agent, it will not be further presented to the newly available better agent.
Further, traditional call centers present the work request to only a single agent. If this agent is slow to accept the work request while another available and suitable agent may have accepted the work request if they had had a chance, then the problem of avoiding slow responders is not solved.
In some of the traditional call servers, a feature exists that involves a multi-appearance directory of numbers. This allows a call to ring on multiple telephones, and to be answered at any of them. However this has the drawback that all “appearances” of the directory numbers remain in use/busy while the current call is active, hence this is not suitable as a contact center solution.
There is thus a need for a contact center that can optimally select agents, monitor agent responsiveness in real time and route work request accordingly.